package com.chujian.system.sys.service;


import com.chujian.framework.core.base.BaseService;
import com.chujian.framework.echo.IEchoDataService;
import com.chujian.sys.entity.SysMenu;

import java.util.List;

/**
 * 菜单表 服务类
 *
 * @author yj
 * @since 2021-08-03
 */
public interface SysMenuService extends BaseService<SysMenu>, IEchoDataService<String> {

    Long PARENT_MENU_ID = 0L;

    List<SysMenu> getTreeMenus(Long menuTemplateId, String menuName);

    /**
     * list 模板下的所有菜单
     *
     * @param menuTemplateId 菜单模板ID
     * @param includeOper    是否包含操作
     * @return allMenu
     */
    List<SysMenu> listAllMenuByTemplateId(Long menuTemplateId, boolean includeOper);

    /**
     * 获取前端路由的菜单数据
     *
     * @param menuTemplateId menuTemplateId
     * @return List<SysMenu>
     */
    List<SysMenu> listAllRouteMenus(Long menuTemplateId);
}
